package com.dt76.smallloanbackendservice.pojo.afterloan;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.sql.Timestamp;
import java.util.Date;

public class RepaymentInfo {

    private long repaymentId;
    private long loanId;
    private long repaymentCycle;
    private Date defaultRepaymentDate;
    private Date repaymentDate;
    private double principal;
    private double interest;
    private String commitRole;
    private Date commitDate;
    private double managementFee;
    private double reductionAmount;
    private double contractAmount;
    private String repaymentComment;
    private String auditOpinion;
    private String auditRole;
    private CommonLoanInfo info;
    private String status;
    private Integer overDays;

    public long getRepaymentId() {
        return repaymentId;
    }

    public void setRepaymentId(long repaymentId) {
        this.repaymentId = repaymentId;
    }

    public long getLoanId() {
        return loanId;
    }

    public void setLoanId(long loanId) {
        this.loanId = loanId;
    }

    public long getRepaymentCycle() {
        return repaymentCycle;
    }

    public void setRepaymentCycle(long repaymentCycle) {
        this.repaymentCycle = repaymentCycle;
    }

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    public Date getDefaultRepaymentDate() {
        return defaultRepaymentDate;
    }

    public void setDefaultRepaymentDate(Date defaultRepaymentDate) {
        this.defaultRepaymentDate = defaultRepaymentDate;
    }

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    public Date getRepaymentDate() {
        return repaymentDate;
    }

    public void setRepaymentDate(Date repaymentDate) {
        this.repaymentDate = repaymentDate;
    }

    public double getPrincipal() {
        return principal;
    }

    public void setPrincipal(double principal) {
        this.principal = principal;
    }

    public double getInterest() {
        return interest;
    }

    public void setInterest(double interest) {
        this.interest = interest;
    }

    public String getCommitRole() {
        return commitRole;
    }

    public void setCommitRole(String commitRole) {
        this.commitRole = commitRole;
    }

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    public Date getCommitDate() {
        return commitDate;
    }

    public void setCommitDate(Date commitDate) {
        this.commitDate = commitDate;
    }

    public double getManagementFee() {
        return managementFee;
    }

    public void setManagementFee(double managementFee) {
        this.managementFee = managementFee;
    }

    public double getReductionAmount() {
        return reductionAmount;
    }

    public void setReductionAmount(double reductionAmount) {
        this.reductionAmount = reductionAmount;
    }

    public double getContractAmount() {
        return contractAmount;
    }

    public void setContractAmount(double contractAmount) {
        this.contractAmount = contractAmount;
    }

    public String getRepaymentComment() {
        return repaymentComment;
    }

    public void setRepaymentComment(String repaymentComment) {
        this.repaymentComment = repaymentComment;
    }

    public String getAuditOpinion() {
        return auditOpinion;
    }

    public void setAuditOpinion(String auditOpinion) {
        this.auditOpinion = auditOpinion;
    }

    public String getAuditRole() {
        return auditRole;
    }

    public void setAuditRole(String auditRole) {
        this.auditRole = auditRole;
    }

    public CommonLoanInfo getInfo() {
        return info;
    }

    public void setInfo(CommonLoanInfo info) {
        this.info = info;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Integer getOverDays() {
        return overDays;
    }

    public void setOverDays(Integer overDays) {
        this.overDays = overDays;
    }
}
